﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace EntropiaMiningMap
{
    /// <summary>
    /// Encompasses a single map coordinate for an arbitrary material with an incremental value 
    /// that indicates the number of occurrences of this point.
    /// </summary>
    class MaterialPoint
    {
        /// <summary>
        /// x-coordinate
        /// </summary>
        private int x;

        /// <summary>
        /// y-coordinate
        /// </summary>
        private int y;

        /// <summary>
        /// Number of occurrences of this map point
        /// </summary>
        private int occurrences;

        /// <summary>
        /// Default constructor
        /// </summary>
        public MaterialPoint() 
        {
            x = 0;
            y = 0;
            occurrences = 0;
        }

        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="X">x-coordinate</param>
        /// <param name="Y">y-coordinate</param>
        public MaterialPoint(int X, int Y)
        {
            x = X;
            y = Y;
            occurrences = 1;
        }

        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="X">x-coordinate</param>
        /// <param name="Y">y-coordinate</param>
        /// <param name="Occ">occurrences</param>
        public MaterialPoint(int X, int Y, int Occ)
        {
            x = X;
            y = Y;
            occurrences = Occ;
        }

        /// <summary>
        /// Accessor for x
        /// </summary>
        public int X
        {
            get { return x; }
        }

        /// <summary>
        /// Accessor for y
        /// </summary>
        public int Y
        {
            get { return y; }
        }

        /// <summary>
        /// Accessor for occurrences
        /// </summary>
        public int Occurrences
        {
            get { return occurrences; }
            set { occurrences = value; }
        }


    }
}
